home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software 2000
/
Software 2000 Volume 1 (Disc 1 of 2).iso
/
printer-studio
/
canon studio
/
canonstudio
/
readme
< prev
next >
Wrap
Text File
|
1992-09-08
|
46KB
|
1,238 lines
C A N O N S T U D I O V 1.1
============================
COPYRIGHT
---------
COPYRIGHT © 1992 WOLF FAUST. ALL RIGHTS RESERVED. ALL
DISTRIBUTION- AND MARKETING RIGHTS TO THE SOFTWARE ARE VESTED IN
WOLF FAUST.
COPYRIGHT: THIS PRODUCT ("CANONSTUDIO") IS COPYRIGHTED AND
OTHERWISE SUBJECT TO PROPRIETY RIGHTS. YOU MAY NOT COPY, OR
TRANSFER THE PRODUCT OR ANY COPY OR PORTION THEREOF WITHOUT
WRITTEN PERMISSION FROM THE AUTHOR WOLF FAUST.
DISCLAIMER: THE PRODUCT IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE. THE
ENTIRE RISK AS TO USE, RESULTS AND PERFORMANCE OF THE PRODUCT IS
ASSUMED BY YOU.
LIMITATION OF LIABILITY:
IN NO EVENT SHALL CANON AND/OR FAUST OR ITS SUPPLIERS BE HELD
LIABLE FOR ANY LOSS OR DAMAGES ARISING OUT OF ANY ACTION, FROM
WHATEVER SOURCE, CONCERNING THE USE OR INABILITY TO USE THE
PRODUCT.
REGISTERING
-----------
Please register CanonStudio or this product will most likely not
be supported in the future (programs do cost more than time to
develop). Also, your sharefee is my motivation for enhancements.
The price for registering is:
INTERNATIONAL
US$25 includes shiping
+ $ 5 if payed by cheque. No COD!
GERMANY
DM 35 includes shiping. No COD (Nachnahme)!
ENGLAND
£15 includes shiping
Send the money to following address:
Wolf Faust
Am Dorfgarten 10
W-6000 Frankfurt 50
Germany
Tel: ++49-69-5486556 (GMT)
Fido: 2:249/3.5 (Wild Cat: ++49-6173-2544 HST,V.32bis)
email: wfaust@aurea.hotb.sub.org
Or in England you may register and get updates at/from:
JAM
Jeff Walker
75 Greatfields Drive
Uxbridge, UB8 3QN
Tel: 08952-74449 (GMT)
What do you get in return:
- CanonStudio registered version
- .030 version (approx. 10-20% faster)
- update service (I take that very serious!)
TRADEMARKS
----------
Amiga is a registered trademark of Commodore-Amiga, Inc.
Kickstart is a registered trademark of Commodore-Amiga, Inc.
Workbench is a registered trademark of Commodore-Amiga, Inc.
Deluxe Paint is a registered trademark of Electronics Art.
All other trademarked product and company names used herein are
used for identification purposes only. No infringement of
trademarks is intended. Trademarks remain property of the
trademark holder.
INTRODUCTION
------------
CanonStudio is a new program which is intended for all Amiga Canon
printer drivers. It does print IFF graphics with up to 24 bit
color accuracy in any size (Want a 100*100m poster?) .
CanonStudio is not limited to the max. 4096 colors of the Amiga
printer device, though it does work with nearly all Amiga printer
drivers. The pictures are printed FROM DISK ie. you don't need
much memory for printing a 10MByte 24 Bit graphic in high quality.
CanonStudio is specially written for the Amiga operation system
and is not just a simple portation from an IBM or Apple computer.
Because of this, CanonStudio makes heavy use of multitasking and
Kickstart 2.04. CanonStudio includes a spooler which allows you
to specify multiple print jobs while the program is already
printing in background. The program does provide a nice
"click-and-drag" user interface and an ARexx interface.
From my experience, most Canon printer owners do print pictures
using ADPro's PrefPrinter saver or TruePrint. CanonStudio does
offer users an easy and inexpensive way for printing pictures in
high quality. Using the ARexx-Interface, CanonStudio can be
controlled by other programs like ADPro or Black Belts
Imagemaster.
Now, here are some of the CanonStudio features:
- prints IFF ILBM pictures from disk
- supports most of the known IFF ILBM formats, including HAM8,
HAM, EHB and color palettes up to 256 colors.
- does not require $&%$ MBytes memory!
- Allows you to print poster size images spread over multiple
pages.
- number of copies can be defined
- Using CanonStudio you can print 24 bit-planes of color accuracy
on a color printer (for instance CanonBJC800). If you have a
black and white only printer, then you can print with 8 bit-planes
of grey scale accuracy.
- multiple jobs can be defined and printed in background
(estimated print time and more will be displayed)
- ink compensation does correct ink impurities
- color adjustment (gamma, contrast, brightnes, weights,...)
- Free defineable ordered dither routines. Following ordered
dither matrices are already included:
Haltone-A, Halftone-B, Ordered-A, Ordered-B, Spiral, Horizontal,
Vertical, Bck-Diagonal, Fwd-Diagonal
- Three error diffusion dither routines:
Floyd Steinberg, Jarvis, Stucki
- Two serpentine blue noise dither routines are included:
30% random weight, 50% random weight
- ARexx Interface
- font independent user interface (KS 2.04 style)
ABOUT THIS MANUAL
-----------------
Sorry for this limited manual. I'm sure most things can easily be
understood by simply using the "try and error" method. I simply
don't have the time yet to describe all those nice features hidden
in the program in detail. This will hopefully be addressed in a
future release. Nearly every function is covered by this manual,
though, most things should be better explained.
HISTORY
-------
Following driver revisions have been made:
05.09.92 Version 1.0 First Version
08.09.92 Version 1.1 "Vertical Aspect" set in preferences
caused wrong sized printing
(a left bar) - fixed
INSTALLATION
------------
What does CanonStudio requires:
- an Amiga with at least Kickstart/Workbench 2.04
- ~300KB memory (so it even runs on a plain Amiga 500)
- a Canon printer driver (at least CanonBJ130 V11.1, CanonBJ10 V4,
CanonBJC V1, CanonLBP V3, CanonBJ300 V4.1)
For installing CanonStudio simply drag the CanonStudio icon and
Dither-Settings drawer into the wanted drawer. That's all...
simple, isn't it?
WARNING: IF STARTED FROM WORKBENCH, MAKE SURE STACK IS SET TO AT LEAST
10000 BYTES OR CANONSTUDIO WILL CRASH!!!
In case you have the original icon as distributed, stack is set to
10000 allready. Stack can be set using the "Information"
workbench menu. When started from Shell/CLI, CanonStudio
automaticly allocates it's stack. Because of this, you don't need
to set stack from Shell/CLI.
LAUNCHING CANONSTUDIO
---------------------
CanonStudio may be run from either Workbench or a Shell. When it
starts, it looks for a file in its directory called
"CanonStudio.prefs" that contains your last used and saved
settings for printing. In case the setting file can not be found,
CanonStudio uses it's default internal settings. You may also
have your own settings file.
CanonStudio can be launched from Workbench by double clicking on
its icon. The CanonStudio icon has one tool type to specify its
setting file.
The tool type is
SETTINGS=<settingsfile>
where <settingsfile> is the name of a settings file for CanonStudio
preferences. The default settings file is "CanonStudio.prefs" in
the program directory containing the CanonStudio executable.
Also, there are several tool type options which allow you to
override the settings of the settings file. These options are
named the same way as the Shell options are descibed below in
detail.
From a Shell, CanonStudio is invoked by typing "CanonStudio".
CanonStudio has the following command template for it's arguments.
CanonStudio PUBSCREEN/K,TOPAZ/S,REXX/S,NOFILEREQ/S,SCALE/S,
NOSCALE/S,SETTINGS/K,PRI=PRIORITY/K/N,UNIT/K/N,FILES/M
where SETTINGS is the name of a settings file for CanonStudio
preferences.
Beside the SETTINGS option, both, tool type and shell argument can
be used to override special preference settings or cause a
different behaviour of CanonStudio:
PUBSCREEN <Name>
allows opening CanonStudio on a public screen.
TOPAZ
disable independent font code. CanonStudio will only use Topaz 8
for rendering it gadgets.
REXX
Will open ARexx port after FILES/M got processed. WARNING: if
REXX is specified, you can only quit CanonStudio by using the QUIT
or CONITNUE command (see the ARexx-Interface chapter).
NOFILEREQ:
If files are specified during startup, these will be processed.
No filerequester appears after this and -- unless REXX has been
specified -- CanonStudio is terminated.
FILES <name1> <name2>... :
You may specify files for processing and printing.
SCALE|NOSCALE (default SCALE)
In case SCALE is used, CanonStudio checks if the IFF CMAP
(colormap) was shifted or scaled. Some application programs (for
instance DPaint 4.1) do write their color values shifted (0xF0)
instead of scaled (0xFF) causing to dark colors. As default you
should start CanonStudio with the SCALE option and save the
setting. Newer programs do write their color values scaled (for
instance ADPro). Usually do not care about this setting, except
you get light grey instead of a white area.
PRI=PRIORITY <num> (Default -1)
Defines the process priority of the main print process. As
default a value of -1 is set. This results in a better
multitasking behaviour as you may go further while CanonStudio is
printing in background. Most Amiga processes have a higher
priotity of 0. The priority must be in range from -50 to 50.
NOTE: In case there is an other task with higher priority running
in background, CanonStudio may seem to be disabled or crashed,
though this is not the case simply because CanonStudio does not
get any computing time because of it's lower priority compared to
the other task. In this case quit or halt the other task while
CanonStudio is running, or increase the CanonStudio priority using
the PRIORITY option.
UNIT <num> (Default 0)
Future Workbench printer preferences may allow you top specify a
printer port to print at. Also, most of the current multiport
cards allow you to specify a port for printing at using a unit
number (ie. 0 = internal port, 1 = external port A, 2 = external
port B,...).
Using the UNIT tool type or CLI keyword, you can define a unit
(ie. port) to print at. As default, unit 0 is used.
Once specified you can save the unit in the CanonStudio settings
file.
NOTE: in case the settings file could not be read, CanonStudio
automaticly sets the dither method to custom with the
Ordered-A-256 dither method installed. So the first time you
start, Ordered is installed as "Custom Dither".
GETTING STARTED
---------------
After starting CanonStudio a filerequester appears and ask you for
selecting IFF files for printing. You can avoid the filerequester
by specifying files as arguments on shell startup, and/or by using
the NOFILEREQ option.
Also, in case you start CanonStudio from Workbench, the
filerequester can be avoided by multiselecting the picture icons
(see your system manual for more information).
In either case, Shell or Workbench, a filerequester does not
appear in case you already have specified a picture file on
startup. In case no file is given, the filerequester appears and
you can multiselect (again, see your system manual for
multiselection) files for printing.
In case you are not sure about printing a special file, don't
hesitate. Unless you have specified the NOFILEREQ option on
startup, the filerequester will appear again after processing the
other given files.
THE MAIN PROCESS WINDOW
-----------------------
After successfully selecting the file(s), the two main process
windows open. One window is sized as far as your monitor allows.
This window gives you an overview of the size of the printing page
and the picture size and position for printing. You can use the
mouse to position and size the picture on page.
While you use the mouse for positioning the picture on the page,
the gadgets in the second window are updated accordingly. These
gadgets show the extact numeric values of the selections made by
mouse in the other window.
Also, this smaller window contains all the gadgets you need to
control color, dither method and more. Most of the gadgets don't
need a huge explanation, so let's have an overview over these
gadgets:
Paper Dimension:
These are two gadgets. One is showing you the width of the
maximum printable area of your printer as yelled by the printer
driver. This gadget is read-only. The other gadget defines the
height of the maximum printable area of your printer. This
setting is often defined as physical print page. For instance, in
case you have a DIN A4 paper with a size of 21.0*29.7cm and your
printer always leaves a top and bottom border of 1 cm, you should
enter 27.7cm here.
Page Dimension:
Now that you have defined the maximum print area of your printer
for a given paper size, you may define a wanted subpage. For
instance, you may want to decrease the printable size if you have
a DIN A4 sized paper with sign at the top which should never be
overprinted (or a formular paper). Let's say the sign is at the
top border and 2 cm height. Now you should decrease the print
height from Paper Dimension by two (ie. 25.7cm) and define a
border of 2 cm at the top (Page Dimension Y = 2cm).
Print Dimension:
And finaly we have the actual print size of the picture. The is
nearly no limit to the size specified here. Just be sure the
upper left corner of the picture will be printed on the first page
(if not, you'll get an error requester anyway...). The Print
Dimensions X will be applied to all of the left-most pages in a
poster print. All of the top most pages of a poster print will be
affected by the Print Dimensions Y setting.
Density:
This cycle gadget in the upper right of the window shows you the
densities supported by the printer driver. Select a wanted
density by simply clicking with the mouse on the gadget.
Col / b/w
Below the Density gadget, you find the color and b/w cycle gadget.
This gadget allows you to select the output of a color picture:
greyscale or color. In case you select color and your printer
driver does not support color, greyscale is used automaticly.
Single/Fanfold
This gadget does the same as the Workbench preferences
Single/Fanfold gadget. In case Single is selected, a Formfeed is
send after each page. Fanfold should be used for endless or
rolled paper.
If you have a single sheet ONLY printer like a laser printer, you
can use FanFold to print multiple pictures on one page. Just be
sure to set the page and paper dimension accordingly. If you are
printing a multicolumn poster on continuous paper (fanfold or
roll) then you would set "Fanfold" and define some top margin
(Print Dimensions Y) so that the columns of your print will be
separated. Also, when printing posters on continuous paper, you
should set the Page Definitions Top margin to 0 so that there is
no gap between individual pages of a column.
Custom/Floyd/Stucki/Jarvis/Blue Noise 30%/Blue Noise 50%
This cycle gadget allows you to select a wanted dither method.
The dither method themselves are discussed later in detail.
However, the print time increases with the dither method listed
below. For instance Blue Noise usually requires twice the print
time of the any Custom dither.
o Custom allows you to define any wanted ordered dither matrix
using the "Define Dither" gadget below. Many preset ordered
dither matrixes are provided and explained later in detail
o Floyd Steinberg is a very popular error diffusion dither method.
This dither method does provide a good compromiss of speed and
quality.
o Stucki is also an error diffusion dither method. Different to
Floyd Steinberg, this dither does require more computing time as a
result of taking more pixels into the account.
o Jarvis is also an error diffusion algorithem with nearly the
same output as the Stucki dither. The added computation time of
the Jarvis and Stucki dithers results from incorporating a greater
number of pixels into each dithering computation.
o Blue Noise 30%
This is an error diffusion algorithem with perturbation and a
serpentine raster using the Floyd Steinberg filter with 30% random
weights.
o Blue Noise 50%
This is an error diffusion algorithem with perturbation and a
serpentine raster using the Floyd Steinberg filter with 50% random
weights.
If you want to read more about dither routines and digital
halftoning, here is a very good book to go for:
Robert Ulichney
"Digital Halftoning"
MIT Press
ISBN 0-262-21009-6
The book is easy to understand and does come with lot's of
samples. Most of the dither routines described below are handled
in detail in this book. Surely one of the best books when it
comes to digital halftoning.
Color Adjust...
A window will appear when you click on this gadget. The window
contains many sliders giving you a possibility of to control the
color, brightness and more of your picture. While most functions
should be known, some note should be made:
- the gamma sliders allows you to bright up a picture without
loosing to much colors. Specially owners of printers with dot
gain problems (most "cheap" printers <$3000 do have dot gain
problems!) should use this slider to increase the brightness.
Usually, you should select a value from 20-30 for best printing on
the CanonBJC800, BJ10, BJ300.
- the weights sliders are importend for printing color pictures on
greyscale printers. The color components of the color picture are
weighted accord to the slider settings. What are weights good
for? A red and green pixel, both with the same color value of 50,
do not have the same luminance when they are displayed on a color
monitor. Most likely the green will look brighter because of the
way monitor tubes are build. Because of this, when converting a
color picture previously displayed on a monitor to a greyscale
picture, you have to consider the different weights (ie.
luminance) of the tube colors. As default, CanonStudio uses the
weights as defined by the NTSC and PAL standard. In case you have
scanned a picture with a RGB scanner, the colors are not weighted
to these standards and are most likely weighted equaly. In this
all sliders should be set to 3333 (ie. 33.33%) resulting in a
total weight of 100%. The total weighting may exceed 100 percent.
- CanonStudio also offers the user complete control over its ink
compensation function. Printer's inks are not completely pure
materials. For example, there is some amount of yellow mixed into
the magenta ink. And, there is some amount of magenta which
unavoidably is found in the cyan ink. The ink compensation values
will correct for these impurities. With Magenta Compensation you
define the amount of magenta in the cyan ink in percent. With
Yellow Compensation you define the amount of yellow in the magenta
ink in percent. In general, set the ink compensation value of
magenta 31% and yellow to 40% for best results with Inkum Inks.
PS: on my experience 15% gives better violet shades with the
original Canon BJC800 inks, but again... it's best you ask the
manufacturor of the ink for the right values.
NOTE: The ink compensation function can be completely disabled by
defining 0%. You will notice that without the ink compensation
function, a blue sky will print as purple. With the ink
compensation function set at 31%, blue skies are blue again.
Set Aspect
When you click on this gadget, CanonStudio automatically sets the
print height of your picture to a value so that your printed
picture does have the right aspect ratio. This requires a correct
aspect ratio or DPI chunk saved in your picture. After setting
the correct aspect ratio, a circle is printed as circle and a
square would be printed as square no matter what the physical
aspect of the printer's dots are.
cm/inch
Every value shown in the windows can defined as centimeters or
inches. This gadget shows the current selection and when you
click on it, all values are changed to the other measurement.
Copies
Allows you to define the number of copies you wish to print of the
picture.
Startin page
In case you print a poster, you may define a page to start
printing with. This is specialy usefull for printing posters. In
case you had some trouble with the printer in the middle of the
printing (out of paper?), you may restart the printing with the
page aborted.
PRINTING THE PICTURES
---------------------
After all settings have been done in the main process window, you
can click on the "Print" button. A small status window will
appear telling you the number of pages, copies and after some
seconds the estimated printing time.
CanonStudio includes a printer spooler of it's own (called
MultiTasking hihi). Because of this, you can go further with
selecting pictures for printing while the printer is still
printing. The main window will appear with the next picture file
in case you selected multiple pictures on startup. After defining
the print size of all given pictures, the filerequester appears
again.
There is nearly no limit in predefining multiple print jobs!
Also, you can define the priority of the printing process on
startup of CanonStudio and save this setting by clicking on the
"Save Setting" gadget. If you set this priority to a less than 0
(default -1), printing is done in background without disturbing
you while defining the print dimension of the next picture or do
whatever you like to do with your Amiga (except power off ;-).
QUIT CANONSTUDIO
----------------
You can terminate CanonStudio by clicking on the filerequesters
close gadget or the Quit gadget.
THE STATUS WINDOW
-----------------
The status window appears on startup of CanonStudio and remains
open until you quit CanonStudio. While printing the window is
sized to its maximum size and shrinked to a small title bar while
not printing. The status window displays the current print job in
progress and estimated printing time.
Two gadgets are in this window and enabled in case a picture is
printed:
"Aborts" the printing of all pictures.
"Skip" skips the current picture and printing will start with the
next picture. Also, a requester appears to make sure your printer
is ready for the next picture in case of an previous problem.
PRINTER DRIVERS
---------------
CanonStudio was designed to work with most Amiga printer drivers.
Though, as result of the major efforts from Canon in supporting
the Amiga, currently only Canon users get the program for free.
Because of this, CanonStudio was limited to work with Canon
drivers. In case the printer driver support it's own kind of color
adjustment or dither routines: turn them off! Usually this can be
easily done by printing using density 1 or 2. See your printer
driver manual for more details.
DITHER ROUTINES
---------------
Many dithering methods are supplied with the CanonStudio. These
are described below. In each case a larger dither mask size
produces a print which can represent a wider range of colors but
will produce less spatial information per unit area of paper.
Conversely, a smaller dither mask size can reproduce fewer colors
(or shades) but more closely approximates the true resolution of
your printer.
Another way of expressing this is the following: There is a
tradeoff between printing ``lots'' of colors and printing in high
resolution. Given a specific printer with a specific DPI
capability, asking for ``lots'' of colors means using a larger
dither mask size. A larger dither mask size cuts down on your
effective resolution. For instance, using a dither mask of 16*16
on your 360dpi printer will result in 360/16 = 22.5 dpi with full
color information.
Note that this can work to your advantage when blowing a picture
up in size. Blowing up a picture means that there are more dots
to work with which offsets the loss in resolution caused by a
larger dither mask size. This added to the benefits to be had by
being able to reproduce more colors (or shades) means that your
enlarged posters will look quite good.
Also note that many printers including most laser printers and dot
matrix printers have considerable dot gain. For example, a 360
DPI laser printer does not actually print dots which are 1/360 of
an inch in size. Rather, its dots will be much larger. This
causes some dithers, such as the Floyd-Steinberg and Ordered
dithers, to produce intensely over-saturated or muddy prints.
Other dithers such as the two halftone dithers overcome this
problem with low-end printers.
Also, if you want to read more about dither routines and digital
halftoning, here is a very good book to go for:
Robert Ulichney
"Digital Halftoning"
MIT Press
ISBN 0-262-21009-6
The book is easy to understand and does come with lot's of
samples. Most of the dither routines described below are handled
in detail in this book. Surely one of the best books when it
comes to digital halftoning.
Now let's take a look at the supplied dither routines.
Custom
------
If the Custom dither method is selected, you can define or load
any ordered dither matrix by click on the "Define Dither" method
below the gadget. Several popular ordered dither method are
provided with CanonStudio and saved in a file. These file can be
loaded and enabled with the "Load" gadget.
The amount of printable colors is usually directly related to the
size of the dither matrix. The ordered dither routines described
below usually exists in several sizes. You can distinguish the
custom ordered dither routines by their filenames. For instance a
filename of "Halftone-A-4" means: Halftone A dither routine, 4
shades. While "Halftone-A-256" means: Halftone A dither routine,
256 shades.
Halftone-A - <number of colors>
Halftone-B - <number of colors>
The halftone dithers (Halftone-A and Halftone-B) differ in how
they place a halftone matrix.
This is the classical clustered halftone method used by most book
publishers. To improve the dither output, the halftone matrix is
rotated by 45 degree. Halftone-A causes the halftone matrix for
each of the primary colors to be centered about the same point.
This means that the primary colors will overlap completely,
leaving a lot of white paper showing through. This may be
appropriate for some better dye sublimation type printers or other
color printers with good registration where the inks mix well.
Halftone-B, on the other hand, staggers the halftone matrix of
each primary color so that they do not overlap. This is similar
in concept to traditional color offset printing. Halftone-B may
produce better results on printers whose inks do not mix well, and
on printers with less than perfect registration.
The halftone dithers can produce some extremelly good results and
compensate for the dot gain problems outlined above. Try both
halftone dithers to see which one is better for your particular
intention.
Also, in case you xerox your printing, using Halftone results in a
much better copy.
To use Halftone-B is somehow different to the other dither
matrices. You have a special dither matrix for each color.
Because of this, each dither filename includes the abbreviation of
the color (C = cyan, Y = yellow, M = magenta, K = black or
greyscale). In case you use Halftone-B you also have to increase
the brightness of the black color component by 50%. Use the
bright+ gadget in the CanonPref program for increasing brightness.
Halftone-B is a nice example for the relationship between color
adjustment and dither routines. You have to consider both setting
up your driver.
PrtDevice-Halftone-16
PrtDevice-Ordered-16
This dither matrix is the one used by the printer devices
"Halftone" or "Ordered" dither.
Ordered-A - <number of colors>
The ordered dither produces a regular repeating pattern which is
often used for printing computer graphics. The ordered dither is
particularly susceptible to over-saturation due to dot gain in
high resolutions. Though, you surely get nice outputs in 180DPI.
Ordered-B - <number of colors>
This dither is a mixture of a dispersed dither like Order and a
clustered dither like Halftone. The dither is specialy addressed
to the high resolution printers with dot gain problems. For
instance, if you print a picture with 360*360 dpi using
Ordered-Rect-B-64, you get a picture that seems to be printed with
180*180 dpi. Now while graphics are printed emulating 180*180
dpi, all black parts of the picture are printed using 360*360.
Don't be confused, the printed picture is still better than
a picture in real 180*180dpi resolution. The
Ordered-Rectangular-B is specialy usefull for color DTP. You get
nice color pictures with fine high quality text.
Spiral-Dot-Screen - <number of colors>
A wide range of special effects clustered dither matrices are
available in the graphic arts industry and all are easily
simulated digitally. Spiral-Dot is such a dither.
The spirol-dot dither is essentially half of the classical screen,
with dark squares growing to fill the plane without the
laternating light squares. Spiral-Dot looks quiet similar to the
Halftone-A matrix 0 degree rotated.
Horizontal - <number of colors>
Vertical - <number of colors>
FwdDiagonal - <number of colors>
BckDiagonal - <number of colors>
A wide range of special effects clustered dither matrices are
available in the graphic arts industry and all are easily
simulated digitally. The Line dithers are such dithers.
The horizontal (as well as the vertical, forward diagonal and
backward diagonal) dither overcome much of the dot gain problems
that the Floyd and Ordered dithers have with inexpensive printers.
These dithers (especially the diagonal dithers) are especially
good for large printings.
Floyd Steinberg
---------------
This is a very popular error diffusion dither method suggested by
Floyd and Steinberg. They argued that a filter with four elements
was the smallest number that could produce "good" results. The
values were choosen to particulary assure the checkerboard pattern
at the middle grey or shade of color. This dither method does
provide a good compromiss of speed and quality. The reason for the
popularity of this algorithem is clear, several color shade levels
are represented by pleasingly isotropic, structureless
distributions of dots. However, some shortcomings are also
apparent:
1. Correlated artifacts in many of the color shade level patterns.
This can be easily seen by printing a grey scale ramp.
2. Directional hysteresis due to the raster order of processing.
This artifact is most apparent in very light and very dark
patterns.
3. Transient behavior near edges or boundaries.
Jarvis, Judice and Ninke
------------------------
In 1976 Jarvis, judice and Ninke reported an error filter with 12
elements. The large filter size does reduce some of the artifacts
seen with the 4 element filter of Floyd and Steinberg, but
directional hysteresis in the very dark and light regions are
increased, and pixels are clustered together more in the middle of
color shade regions. It also sharpen the pictures more.
Stucki
------
The Stucki filter uses does provide nearly the same output as the
Jarvis filter, though you may may notice differences in sharpness.
Blue Noise 30%-50%
------------------
In trying several combinations of deterministic values in a four
element error filter, non proved better than the famed filter of
Floyd and Steinberg. Two variations of this basic filter are the
Blue Noise dither included with CanonStudio. Both are processed
with serpentine rasters. The serpentine raster used in processing
is responsible for much of the directional artifact elemination.
The noisy treshold (30% or 50% white noise) breaks up most of the
remaining stable texture patterns yielding good radial symmetry at
the expense of adding some low frequency energy.
Blue noise is specialy usefull when printing light shades and
fading colors.
All error diffusion dither including Blue Noise can produce very
good results on color printers with little dot gain and very good
registration. If it produces a washed out print or particularly
bad patterns, then try another dither (see the custom Ordered-B or
Halftone for instance).
ARexx Interface
===============
By using the powerful scripting language, ARexx, CanonStudio can
be controlled for automatic print jobs. Nearly every aspect of
CanonStudio can be controlled from ARexx using simple English-like
commands. This chapter describes the usage of CanonStudio from
ARexx.
Note that you must have ARexx in order to use the facilities
described in this chapter. Specifically, if the program cannot
locate the library "rexxsyslib.library", then it will not respond
to any ARexx style requests. Also, CanonStudio must be startet
with the REXX option (CLI or TOOLTYPE) to enable the ARexx port.
In order to access CanonStudio from ARexx, you must tell ARexx how
to make contact with CanonStudio. Specifically, you must tell
ARexx the name of the message port which CanonStudio creates for
the purpose of ARexx interaction.
The port name of the program is called "PRTSTUDIO.n" where "n" is
an extension starting with "1" making the port unique.
Note: the name "PRTSTUDIO" is not an ARexx port unique to
CanonStudio. This port will also be used by similar programs for
other printer manufacturers. They all use the same ARexx port and
do have a common ARexx comand set so you can share ARexx scripts
with those users.
You can make the connection from ARexx to CanonStudio using the
following ARexx command:
address "PRTSTUDIO.1"
ARexx will generate an error condition should CanonStudio not be
found.
Note that the ARexx port name is case specific. It must be
specified exactly as shown above.
Results:
--------
After every command directed at CanonStudio from ARexx is
executed, CanonStudio will fill in the standard ARexx result
variable, "RC", with a return value. If this value is 0, then the
previous command executed without error. If the value of "RC" is
not zero, then it contains an error severity indicator.
In order to receive additional error indications or to receive
non-error status information back from CanonStudio, you must
request additional status information from ARexx using the
following command:
OPTIONS RESULTS
This command must be one of the first executable instructions in
your ARexx program.
If an "options results" command has been issued, then CanonStudio
will load additional information into the ARexx variable
"PRTSTUDIO_RESULT". "PRTSTUDIO_RESULT" can be consulted whenever
{\tt RC} is non-zero to gain additional information about the
nature of an error.
When RC is returned with a zero value (indicating no error
occurred), "PRTSTUDIO_RESULT" will be set to command specific
information. Note that this means you must check "RC" before
depending on the data in "PRTSTUDIO_RESULT" since
"PRTSTUDIO_RESULT" may contain either additional error information
or the status information you requested.
The "PRTSTUDIO_RESULT" variable is available only to true ARexx
programs. If you are sending ARexx style commands to CanonStudio
from a non-ARexx program, then results which normally would be
passed back in "PRTSTUDIO_RESULT" will instead be passed back in
the "rm_Result2" field in the ARexx message structure.
When CanonStudio is started with the REXX option, it will setup a
database of your default values for printing. The values of the
database can than be altered by using ARexx commands. Once you
have setup the values, you may call the PRINT command from ARexx
and CanonStudio will print the selected picture with the settings
of the database. You can go on with your ARexx script, while
CanonStudio prints the picture in background. You even may
specify an unlimited number of pictures for printing, while a
CanonStudio is still printing the first picture. CanonStudio does
contain a printer spooler for keeping control of what has been
printed (well, I would rather call this feature "Multitasking" ;-)
The database you have read and/or write access to from ARexx
contains informations like:
PRINTDX - print dimension x position in inch.
PRINTDY - print dimension Y position in inch.
PRINTDW - print dimension width in inch.
PRINTDH - print dimension height in inch
PAGEDX - page dimension x position in inch.
PAGEDY - page dimension Y position in inch.
PAGEDW - page dimension width in inch.
PAGEDH - page dimension height in inch
PAPERDW - printer page dimension width in inch - this value is read only!
PAPERDH - printer page dimension height in inch.
RULERDW - ruler dimension width in inch.
RULERDH - ruler dimension height in inch.
COPIES - numer of copies.
STARTPAGE - starting page.
DENSITY - printer device density setting for printing
DENSITY may range from 1 to 7.
DITHERMETHOD - dither method to use for printing
COLOR CONTROLS - control over the color adjustments.
and more...
Commands:
---------
GETFILE
GETFILE "DEFAULTFILE"
Pops up the filerequester and returns the selected file in
"PRTSTUDIO_RESULT". In case user aborted the requester without
selecting a file, RC will be set to 10 and "PRTSTUDIO_RESULT" does
contains the currently selected file.
SETFILE
SETFILE "PRINTFILE"
The first syntax returns the file set in the database. The second
syntax allows you to define a new picture for printing. The old
selection will be returned in "PRTSTUDIO_RESULT". In both cases
no error is returned.
QUIT
Quits CanonStudio.
SCREENTOFRONT
Pops the CanonStudio screen to front. This command does not
return an error.
SCREENTOFRONT
Pushes the CanonStudio screen to the back. This command does not
return an error.
PANEL
Opens the main processing window and allows the user to setup the
parameters for a picture. CanonStudio returns 10 in RC and
"Aborted" in PRTSTUDIO_RESULT if the user aborted the panel window
with cancel. In case an error appears or the selected file was
not a valid IFF file, RC contains 20 and PRTSTUDIO_RESULT "Illegal
file".
PRINTDW
PRINTDW SIZE
PRINTDH
PRINTDH SIZE
PRINTDX
PRINTDX SIZE
PRINTDY
PRINTDY SIZE
PAGEDW
PAGEDW SIZE
PAGEDH
PAGEDH SIZE
PAGEDX
PAGEDX SIZE
PAGEDY
PAGEDY SIZE
PAPERDW
PAPERDH
PAPERDH SIZE
RULERDW
RULERDH
Using these commands you can ask or set a size parameter for
printing. SIZE must be defined in the actual measurement CM or
INCH. Make sure you set the measurement previously. In case SIZE
is illegal, PRTSTUDIO_RESULT returns "Illegal value" with RC set
to 10. In case of an error, the size parameters in the database
are altered to a legal value. While you may alter a setting with
these commands, it's not recommended to set all parameters. Use
the SETSIZE command instead.
SETSIZE PRINTDW PRINTDH PRINTDX PRINTDY PAGEDW PAGEDH PAGEDX PAGEDY PAPERDH
With this command you can set multiple print parameters with one
command. You may specify as many arguments as you need as long as
you conform the order above. This command avoids possible errors
that might appear with the single size set commands (PRINTDW...)
because of temporary invalid parameters. As result, this command
returns the previous settings of:
PRINTDW PRINTDH PRINTDX PRINTDY PAGEDW PAGEDH PAGEDX PAGEDY PAPERDW PAPERDH
Note that you also get PAPERDW as result. You may use the ARexx
parse command for assigning each value to a wanted var in ARexx
scripts.
In case of an error, RC returns 10 and PRTSTUDIO_RESULT "Illegal
value".
CM
Sets the measurement to centimeters. Automatically transforms the
values in the database to centimeters. As result the previous
setting "INCH" or "CM" is returned in PRTSTUDIO_RESULT. No error
is reported.
NCH
Sets the measurement to inch. Automaticly transforms the values
in the database to inch. As result the previous setting "INCH" or
"CM" is returned in PRTSTUDIO_RESULT. No error is reported.
FANFOLD
Sets paper type to fanfold. As result the previous setting
"FANFOLD" or "SINGLE" is returned in PRTSTUDIO_RESULT. No error
is reported.
SINGLE
Sets paper type to single. As result the previous setting
"FANFOLD" or "SINGLE" is returned in PRTSTUDIO_RESULT. No error
is reported.
DITHER
DITHER CUSTOM|FLOYD|JARVIS|STUCKI|BNOISE30|BNOISE50
Sets the requested dither method. As result the previous setting
is returned in PRTSTUDIO_RESULT. In case of an error, RC is set
to 10 and PRTSTUDIO_RESULT to "Illegal value".
VERSION
Returns the current version of CanonStudio (ie. "1").
COPIES
COPIES NUMBER
Sets the amount of copies to print. As result the previous
setting is returned in PRTSTUDIO_RESULT. In case of an error, RC
is set to 10 and PRTSTUDIO_RESULT to "Illegal value".
STARTPAGE
STARTPAGE NUMBER
Sets the page to start printing with. As result the previous
setting is returned in PRTSTUDIO_RESULT. In case of an error, RC
is set to 10 and PRTSTUDIO_RESULT to "Illegal value".
DENSITY
DENSITY 1-7
Set the print density. As result the previous setting is returned
in PRTSTUDIO_RESULT. In case of an error, RC is set to 10 and
PRTSTUDIO_RESULT to "Illegal value".
MAGENTA
MAGENTA 0 - 100
YELLOW
YELLOW 0 - 100
Sets the ink compensation. As result the previous setting is
returned in PRTSTUDIO_RESULT. In case of an error, RC is set to
10 and PRTSTUDIO_RESULT to "Illegal value".
RED
RED -50 - 50
GREEN
GREEN -50 - 50
BLUE
BLUE -50 - 50
GAMMA
GAMMA -50 - 50
CONTRAST
CONTRAST -50 - 50
BRIGHT
BRIGHT -50 - 50
Sets the color adjustment values. As result the previous setting
is returned in PRTSTUDIO_RESULT. In case of an error, RC is set
to 10 and PRTSTUDIO_RESULT to "Illegal value".
REDWEIGHT
REDWEIGHT 0 - 20000
GREENWEIGHT
GREENWEIGHT 0 - 20000
BLUEWEIGHT
BLUEWEIGHT 0 - 20000
Sets the color weights for the color->greyscale transformation in
1/100 percent. As result the previous setting is returned in
PRTSTUDIO_RESULT. In case of an error, RC is set to 10 and
PRTSTUDIO_RESULT to "Illegal value".
CONTINUE
After this sending this command, the CanonStudio ARexx port is
removed and the program will pop up the file requester as if it
was started from CLI/Workbench without the REXX parameter. If
the user quits the filerequester, he also quits CanonStudio.
WARNING: do not send further messages after sending this command!
PRINT
PRINT WAIT
With PRINT the currently selected file will be placed in the
printing queue with the parameters set in the database. The
control is returned to ARexx directly after specifying this
command. This means, the ARexx program may go further while
CanonStudio prints in background. Because of this, you'll never
receive a error message, wether the file was succesfully printed
or not. Though, you may get an error in RC and a proper
explanation in PRTSTUDIO_RESULT because of illegal settings in the
database.
Different to PRINT, PRINT WAIT does halt your ARexx program until
the picture you specified has been printed. In case the printing
was aborted by some reason, RC is set to 10 and PRTSTUDIO_RESULT
to "Aborted". Note: skiping the picture does not set RC to 10!
SETASPECT
Sets the print dimension height (PRINTDH) according to the aspect
of the selected picture.
Note: to find out the aspect of a picture, CanonStudio has to scan
the picture file. Because of this, expect floppy users may have to
wait some seconds until your ARexx program is further executed.
Also, a valid picture file must be given
SETASPECT returns the previously selected PRINTDH in
PRTSTUDIO_RESULT.